function cleverSplit(s) {
    return s.match(/(\[[^\[\]]*\])|(!?[a-z]+)/g)
}  